package xin.clips.system.mapper.gy;

import org.apache.ibatis.annotations.Param;
import xin.clips.system.domain.gy.GyKnowBaseMgt;
import xin.clips.system.domain.gy.GyKnowBaseType;

import java.util.List;

/**
 * 知识管理Mapper接口
 *
 * @author yuanzy
 * @date 2023-03-02
 */
public interface GyKnowBaseMgtMapper {
    /**
     * 查询知识管理
     *
     * @param id 知识管理主键
     * @return 知识管理
     */
    public GyKnowBaseMgt selectGyKnowBaseMgtById(Long id);

    /**
     * 查询知识管理列表
     *
     * @param gyKnowBaseMgt 知识管理
     * @return 知识管理集合
     */
    public List<GyKnowBaseMgt> selectGyKnowBaseMgtList(GyKnowBaseMgt gyKnowBaseMgt);

    /**
     * 新增知识管理
     *
     * @param gyKnowBaseMgt 知识管理
     * @return 结果
     */
    public int insertGyKnowBaseMgt(GyKnowBaseMgt gyKnowBaseMgt);

    /**
     * 修改知识管理
     *
     * @param gyKnowBaseMgt 知识管理
     * @return 结果
     */
    public int updateGyKnowBaseMgt(GyKnowBaseMgt gyKnowBaseMgt);

    /**
     * 删除知识管理
     *
     * @param id 知识管理主键
     * @return 结果
     */
    public int deleteGyKnowBaseMgtById(Long id);

    /**
     * 批量删除知识管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGyKnowBaseMgtByIds(String[] ids);

    /**
     * 检查知识名称是否重复
     *
     * @param knowName
     * @return
     */
    public GyKnowBaseMgt checkKnowNameUnique(@Param("knowName") String knowName, @Param("knowType") Long knowType);
    /**
     * 查询最大的id
     * @return
     */
    public Integer selectMaxId();
}
